package model.negocios;

import java.util.List;

import excecoes.DadosCadastroInvalidos;
import model.basicas.CargoDepartamento;
import model.basicas.FolhaPagamento;
import model.basicas.Salario;
import model.dao.FolhaPagamentoDAO;
import model.factory.FactoryDAO;
import model.interfaces.IFolhaPagamentoDAO;

public class ControladorFolhaPagamento {
	
	private IFolhaPagamentoDAO folhaDAO;
	
	public ControladorFolhaPagamento(){
		this.folhaDAO = FactoryDAO.getFolhaPagamentoDAO();
	}
	
	
	public void cadastrar(FolhaPagamento folha) throws DadosCadastroInvalidos
	{
		this.folhaDAO.inserir(folha);
	}

	public List<FolhaPagamento> consultarTodos(){
		
		return this.folhaDAO.listarCadastrados();
	}
	
	public void remover(FolhaPagamento folha) throws DadosCadastroInvalidos{
		this.folhaDAO.remover(folha);
	}
	
	public FolhaPagamento atualizar(FolhaPagamento folha) throws DadosCadastroInvalidos{
		return this.folhaDAO.atualizar(folha);
	}
	
	public FolhaPagamento consultarPorId(long id){
		return this.folhaDAO.consultarPorId(id);
	}

	public double calcularAcrescimo(Salario salario){
		return this.folhaDAO.calcularAcrescimo(salario);
	}
	
	public double calcularDecrescimo(Salario salario){
		return this.folhaDAO.calcularDecrescimo(salario);
	}
}
